A Calculational Approach to Control-Flow Analysis by Abstract Interpretation
نویسندگان
چکیده
We present a derivation of a control-flow analysis by abstract interpretation. Our starting point is a transition system semantics defined as an abstract machine for a small functional language in continuation-passing style. We obtain a Galois connection for abstracting the machine states by composing Galois connections, most notable an independent-attribute Galois connection on machine states and a Galois connection induced by a closure operator associated with a constituentparts relation on environments. We calculate abstract transfer functions by applying the state abstraction to the collecting semantics, resulting in a novel characterization of demand-driven 0-CFA.
منابع مشابه
Mechanically Verified Calculational Abstract Interpretation
Calculational abstract interpretation, long advocated by Cousot, is a technique for deriving correct-by-construction abstract interpreters from the formal semantics of programming languages. This paper addresses the problem of deriving correct-by-verifiedconstruction abstract interpreters with the use of a proof assistant. We identify several technical challenges to overcome with the aim of sup...
متن کاملSeparate Abstract Interpretation for Control-Flow Analysis
Effect systems and abstract interpretation are two methods to perform static analysis of programs. We present a new technique that builds upon the type and effect information of module signatures to extend abstract interpretation in the context of separate compilation. We use control-flow analysis as an application of this idea to support our claim. Control-flow analysis strives to determine at...
متن کاملAnalysis of disassembled executable codes by abstract interpretation
The aim of this paper is to dene the abstract domain, abstract operator, abstract semantic, the environments and states of disassembled executable codes as well as a way to analysis the disassembled executable codes. Nowadays, static analysis on disassembled code going to grow. Reverse engineering and malware analysis use this technique. Thus, we tried to perform pluralization the requirements ...
متن کاملVariability Abstractions: Trading Precision for Speed in Family-Based Analyses (Extended Version)
Family-based (lifted) data-flow analysis for Software Product Lines (SPLs) is capable of analyzing all valid products (variants) without generating any of them explicitly. It takes as input only the common code base, which encodes all variants of a SPL, and produces analysis results corresponding to all variants. However, the computational cost of the lifted analysis still depends inherently on...
متن کاملInterprocedural Control Flow Analysis
Control Flow Analysis is a widely used approach for analysing functional and object oriented programs. Once the applications become more demanding also the analysis needs to be more precise in its ability to deal with mutable state (or side-effects) and to perform polyvariant (or context-sensitive) analysis. Several insights in Data Flow Analysis and Abstract Interpretation show how to do so fo...
متن کامل